package com.jy.wms.dao;

import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.WmsLibraryPosition;
import com.jy.wms.pojo.WmsLibrarypositiongroup;
import com.jy.wms.pojo.WmsLibrarypositiongroupDetailed;
import com.jy.wms.pojo.WmsOwner;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @ClassName: WmsLibrarypositiongroupMapper.java
* @Description: TODO(这里用一句话描述这个类的作用)
* @Author syh
* @Date Thu Sep 28 10:59:21 CST 2017
*/
public interface WmsLibrarypositiongroupMapper extends BaseDao<WmsLibrarypositiongroup> {


/**
 * 插入一条记录（匹配有值的字段）
 * @param entity 实体对象
 * @param database 数据库名称
 * @return int
 */
public Integer baseInsertSelective(@Param("WmsLibrarypositiongroup") WmsLibrarypositiongroup entity, @Param("database") String database);

/**
 * 删除（根据主键ID删除）
 * @param id 主键
 * @param database 数据库名称
 * @return int
 */
public Integer baseDeleteByPrimaryKey(@Param("id") String id, @Param("database") String database);

/**
 * 删除（根据ID 批量删除）
 * @param idList 主键ID列表
 * @return int
 */
 public Integer baseDeleteBathPrimaryKeys(@Param("list") List<String> idList);


 /**
 * 分页查询
 * @param entity 实体
 * @return List<WmsLibrarypositiongroup>
 */
 public List<WmsLibrarypositiongroup>  baseSelectPage(@Param("WmsLibrarypositiongroup") WmsLibrarypositiongroup entity);

  /**
   * 查看库位,查看该库位组里已有的库位
   * @param kwzid
   * @return
   */

public List<WmsLibraryPosition>  getPosition(@Param("kwzid") String kwzid);

 /**
  *  查询库位(添加里的查库位接口)
  * @param wmsLibraryPosition
  * @param list
  * @return
  */

 public List<WmsLibraryPosition> seachKw(@Param("WmsLibraryPosition") WmsLibraryPosition wmsLibraryPosition,@Param("list") List<String> list);

 /**
  * 修改查询库位专用(包含修改已有的库位和未在所有库位组的库位)
  * @param wmsLibraryPosition
  * @return
  */
 public List<WmsLibraryPosition> seachKw2(@Param("WmsLibraryPosition") WmsLibraryPosition wmsLibraryPosition,@Param("list") List<String> list);
 /**
  * 添加库位组
  * @param entity 实体对象
  * @return int
  */
 public Integer baseInsert(@Param("WmsLibrarypositiongroup") WmsLibrarypositiongroup entity);
 //添加去重
 public WmsLibrarypositiongroup searchAdd(@Param("mc") String mc,@Param("ckid") String ckid,@Param("sshzid")String sshzid);
 //添加库位组明细
 public Integer insertDetailed(@Param("WmsLibrarypositiongroupDetailed")WmsLibrarypositiongroupDetailed wmsLibrarypositiongroupDetailed);
 //修改去重
 public WmsLibrarypositiongroup searchAdds(@Param("mc") String mc,@Param("id") String id,@Param("ckid") String ckid,@Param("sshzid") String sshzid);
 //用前台传来的库位组id和库位数,改库位数
 public Integer updateKws(@Param("id") String id,@Param("kws") String kws);//用前台传来的库位组id和库位数,改库位数
 /**
 * 编辑查询（根据库位组ID查询）
 * @param id 主键ID
 * @return User
 */
 public WmsLibrarypositiongroup  baseSelectByPrimaryKey(@Param("id") String id);

 /**
  * 修改查询 库位专用 用库位组的id查库位的ids集合(现有的库位)
  * @param kwzid
  * @return
  */
  public List<WmsLibraryPosition> selectKWjh(@Param("kwzid") String kwzid);
/**
 * 查询（根据ID 批量查询）
 * @param idList 主键ID列表
 * @param database 数据库名称
 * @return list
 */
 public Integer baseSelectBathPrimaryKeys(@Param("list") List<WmsLibrarypositiongroup> idList, @Param("database") String database);

/**
 *编辑保存
 * @param entity 主键ID列表
 * @return int
 */
 public Integer baseUpdateByPrimaryKeySelective(@Param("WmsLibrarypositiongroup") WmsLibrarypositiongroup entity);
//编辑保存库位组前,删除其已有的库位,根据库位组的id和库位的数组ids
 public Integer deleteKW(@Param("id") String id);
/**
 *修改（根据主键ID修改）
 * @param entity 主键ID列表
 * @param database 数据库名称
 * @return int
 */
 public Integer baseUpdateByPrimaryKey(@Param("WmsLibrarypositiongroup") WmsLibrarypositiongroup entity, @Param("database") String database);
 /**
  * 查询用户所属全部货主
  * @param ckid
  * @return
  */
 public List<WmsOwner> addSearch(@Param("ckid") String ckid,@Param("hzmc")String hzmc);

 /**
  * 是否激活
  * @param id
  * @param sfyx
  * @return
  */
 public Integer sfyx(@Param("id") String id,@Param("sfyx") String sfyx);

 /**
  * 查询是否有效
  * @param id
  * @return
  */
 public WmsLibrarypositiongroup selectBySfyx(@Param("id") String id);

 /**
  * 删除已有库位
  * @param id
  * @return
  */
 public Integer deletePosition(@Param("id") String id);

 /**
  * 查询库位组内的库位数
  * @param id
  * @return
  */
 public String searchKw(@Param("id") String id);
}
